package com.yunji.news.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 报名申请实体类
 *
 * @author yunji
 * @since 2024-11-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("enrollment_applications")
public class EnrollmentApplication {

    @TableId(type = IdType.AUTO)
    private Long id;

    @TableField("student_name")
    private String studentName;

    @TableField("id_card")
    private String idCard;

    @TableField("phone")
    private String phone;

    @TableField("email")
    private String email;

    @TableField("school_id")
    private Long schoolId;

    @TableField("major_id")
    private Long majorId;

    @TableField("graduation_school")
    private String graduationSchool;

    @TableField("total_score")
    private Integer totalScore;

    @TableField("application_status")
    private String applicationStatus;

    @TableField("application_time")
    private LocalDateTime applicationTime;

    @TableField("payment_status")
    private String paymentStatus;

    @TableField("payment_time")
    private LocalDateTime paymentTime;

    @TableField("exam_status")
    private String examStatus;

    @TableField("exam_score")
    private Integer examScore;

    @TableField("final_status")
    private String finalStatus;

    @TableField("remark")
    private String remark;

    @TableField("status")
    private Integer status;

    @TableLogic
    @TableField("deleted")
    private Integer deleted;

    @TableField(value = "created_at", fill = FieldFill.INSERT)
    private LocalDateTime createdAt;

    @TableField(value = "updated_at", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedAt;
}